package Jan;

import java.sql.Connection;
import java.sql.Date;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


public class BestellungWithoutCustomer {
	public static int bestellzaehler = getLastBestellID(DataTransformation.getCon_o());
	
	public int bestell_ID;
	public double gesamtpreis;
	public Date bestelldatum;
	public String zahlart;
	public String versandart;
	public String bezahlt;
	public int fkmitarbeiter_ID;
	public int filiale;
	public int gesamtzahl_positionen;
	

	public BestellungWithoutCustomer(int bestell_ID, double gesamtpreis, Date bestelldatum,
			String zahlart, String versandart, String bezahlt,
			int fkmitarbeiter_ID, int filiale,
			int gesamtzahl_positionen) {
		this.bestell_ID = bestell_ID;
		this.gesamtpreis = gesamtpreis;
		this.bestelldatum = bestelldatum;
		this.zahlart = zahlart;
		this.versandart = versandart;
		this.bezahlt = bezahlt;
		this.fkmitarbeiter_ID = fkmitarbeiter_ID;
		this.filiale = filiale;
		this.gesamtzahl_positionen = gesamtzahl_positionen;
	}




	public static int getBestellzaehler() {
		return bestellzaehler;
	}






	public static void setBestellzaehler(int bestellzaehler) {
		BestellungWithoutCustomer.bestellzaehler = bestellzaehler;
	}






	public int getBestell_ID() {
		return bestell_ID;
	}






	public void setBestell_ID(int bestell_ID) {
		this.bestell_ID = bestell_ID;
	}






	public double getGesamtpreis() {
		return gesamtpreis;
	}






	public void setGesamtpreis(double gesamtpreis) {
		this.gesamtpreis = gesamtpreis;
	}






	public Date getBestelldatum() {
		return bestelldatum;
	}






	public void setBestelldatum(Date bestelldatum) {
		this.bestelldatum = bestelldatum;
	}






	public String getZahlart() {
		return zahlart;
	}






	public void setZahlart(String zahlart) {
		this.zahlart = zahlart;
	}






	public String getVersandart() {
		return versandart;
	}






	public void setVersandart(String versandart) {
		this.versandart = versandart;
	}






	public String getBezahlt() {
		return bezahlt;
	}






	public void setBezahlt(String bezahlt) {
		this.bezahlt = bezahlt;
	}




	public int getFkmitarbeiter_ID() {
		return fkmitarbeiter_ID;
	}






	public void setFkmitarbeiter_ID(int fkmitarbeiter_ID) {
		this.fkmitarbeiter_ID = fkmitarbeiter_ID;
	}






	public int getFiliale() {
		return filiale;
	}






	public void setFiliale(int filiale) {
		this.filiale = filiale;
	}






	public int getGesamtzahl_positionen() {
		return gesamtzahl_positionen;
	}






	public void setGesamtzahl_positionen(int gesamtzahl_positionen) {
		this.gesamtzahl_positionen = gesamtzahl_positionen;
	}




	public static int getLastBestellID(Connection con_o) {
		int newBestellungID = 0;
		ResultSet rs1 = null;
		Statement stmt1 = null;
		try {
			stmt1 = con_o.createStatement();
			rs1 = stmt1.executeQuery("SELECT MAX(BESTELL_ID) AS BESTELL_ID FROM BESTELLUNG"); 		
				while (rs1.next()) {
					newBestellungID = rs1.getInt("BESTELL_ID");
				}
				stmt1.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		return newBestellungID ;
	}


	public static BestellungWithoutCustomer transformOfInvoice(Invoice invoice) {
		if (invoice.getPayment_method().equalsIgnoreCase("cash")) {
			setBestellzaehler(getBestellzaehler() + 1);
			BestellungWithoutCustomer bestellung = new BestellungWithoutCustomer(getBestellzaehler(), 0,
					invoice.getInvoice_date(), "Barzahlung", "", "Ja",
					(invoice.getEmployee_id()+200), 1,
					invoice.getPositions_total());
			return bestellung;
		} else if (invoice.getPayment_method().equalsIgnoreCase("card payment")) {
			setBestellzaehler(getBestellzaehler() + 1);
			BestellungWithoutCustomer bestellung = new BestellungWithoutCustomer(getBestellzaehler(), 0,
					invoice.getInvoice_date(), "Kartenzahlung", "", "Ja",
					(invoice.getEmployee_id()+200), 1,
					invoice.getPositions_total());
			return bestellung;
		} else {
			return null;
		}
	}
}

	